
package thread;

/**
 * @author ten_fei
 * @create 2021-02-15 19:21
 * <p>
 * <p>
 * <p>
 * <p>
 * 多线程的创建
 * 方式一：继承于Thread类
 * 1. 创建一个继承于Thread的子类
 * 2. 重写Thread类中的run()方法
 * 3. 创建Thread类的子类对象
 * 4. 通过此对象调用start()
 * demo. 遍历100以内的偶数
 * <p>
 * <p>
 * 方式二：实现Runable接口
 * 1. 创建一个实现Runanble接口的类
 * 2. 实现类去实现Runable中的抽象方法：run()
 * 3. 创建实现类的对象
 * 4. 将此对象作为参数传递到Thread类中
 * 5. 通过Thread类的对象调用start()方法
 * demo. 遍历100以内的奇数
 */


public class ThreadDemo {
    public static void main(String[] args) {
//        Thread1 thread1 = new Thread1();
//        thread1.start();
        Thread2 thread2 = new Thread2();
        Thread t2 = new Thread(thread2);
        t2.start();
        Thread t2_1 = new Thread(thread2);
        t2_1.start();
    }
}

//继承Thread类
class Thread1 extends Thread {
    public void run() {
        for (int i = 0; i < 100; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }
    }
}

//实现Runanble接口
class Thread2 implements Runnable {

    public void run() {
        for (int i = 0; i < 100; i++) {
            if (i % 2 == 0) {
                System.out.println(Thread.currentThread().getName() + ":" + i);
            }
        }
    }
}





































